package com.itheima.health.configuration;

import com.itheima.health.jobs.CleanJobImage;
import org.quartz.*;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

import java.text.ParseException;

/**
 * @Author ZhangXiXi
 * @Description TODO
 * @date 2021/1/13 15:04
 * @Version 1.0
 */
@Configuration
public class QuartzConfiguration {
    //JobDetail  任务详情,就是要执行什么  就是这里的CleanJobImage
    @Bean
    public JobDetail cleanImageJobDetail() {
        return JobBuilder.newJob(CleanJobImage.class)   //指定job类
                .withIdentity("clean_image_detail")        //任务的名字
                .storeDurably(true)                     //如果没有指向它的trigger,是否还要保留这个任务
                .build();


    }
    //trigger    触发器,决定什么时间执行
    @Bean//少了这个bean注解还有就是下面@Qualifier里面的是上面那个类的名字,不是里面的id
    public Trigger cleanImageTrigger(@Qualifier("cleanImageJobDetail") JobDetail jobDetail) throws ParseException {
        return TriggerBuilder.newTrigger()
                .withIdentity("clean_image_trigger")    //触发器的名字
                .forJob(jobDetail)                      //定时执行的内容
                .withSchedule(CronScheduleBuilder.cronSchedule("0/5 * * * * ?"))//按照什么规律执行
                .build();
    }
}
